package br.com.simplex.analex;

import java.util.Map;
import java.util.TreeMap;

class Mapa {
	private Map<String, Elemento> mapaVariaveis;
	
	public Mapa(){
        mapaVariaveis = new TreeMap<String,Elemento>();
	}
	
	public void addVariavel(String variavel, double coeficiente, int linha) {
		if (mapaVariaveis.containsKey(variavel)) {
			mapaVariaveis.get(variavel).addCoeficiente(coeficiente, linha);
		} else {
			Elemento elemento = new Elemento(variavel);
			elemento.addCoeficiente(coeficiente, linha);
			mapaVariaveis.put(variavel, elemento);
		}
	}

	public Map<String, Elemento> getMapaVariaveis() {
		return mapaVariaveis;
	}

	public void printMapa() {
		for (Elemento elemento : mapaVariaveis.values()) {
			System.out.print(elemento.getNome());
			for (double d : elemento.getCoeficientes()) {
				System.out.printf(" %0d", d);
			}
			System.out.println();
		}
	}
}
